головне меню список тем тестування презентації історія створення

 

4.6. Модуль переривань МК

Обробка переривань в МК відбувається відповідно до загальних принципів обробки переривань в МПС. Модуль переривань приймає запити переривання і організовує перехід до виконання певної перериваючої програми. Запити переривання можуть поступати як від зовнішніх джерел, так і від джерел, розташованих в різних внутрішніх модулях МК. Як входи для прийому запитів від зовнішніх джерел частіше за все використовуються виводи паралельних портів вводу/виводу, для яких ця функція є альтернативною. Джерелами запитів зовнішніх переривань також можуть бути будь-які зміни зовнішніх сигналів на деяких спеціально виділених лініях портів вводу/виводу.
Джерелами внутрішніх запитів переривань можуть служити наступні події:

  • переповнювання таймерів/лічильників;
  • сигнали від каналів вхідного захоплення і вихідного порівняння таймерів/лічильників або від процесора подій;
  • готовність пам'яті EEPROM;
  • сигнали переривання від додаткових модулів МК, включаючи завершення передачі або прийому інформації по одному з послідовних портів і інші.

Будь-який запит переривання поступає на обробку, якщо переривання в МК дозволені і дозволено переривання по даному запиту. Адреса, яка завантажується в програмний лічильник при переході до обробки переривання, називається «вектор переривання». Залежно від організації модуля переривань конкретного МК різні джерела переривань можуть мати різні вектори або використовувати деякі з них сумісно. Використовування різними перериваннями одного вектора звичайно не викликає проблем при розробці програмного забезпечення, оскільки апаратна частина МК фіксована, а контролер частіше за все виконує одну-єдину програму.
Питання про пріоритети при одночасному надходженні декількох запитів на переривання розв'язується в різних МК по-різному. Є МК з однорівневою системою пріоритетів (всі запити рівноцінні), багаторівневою системою з фіксованими пріоритетами і багаторівневою програмованою системою пріоритетів.
Окремо необхідно описати апаратні переривання, пов'язані з включенням живлення, подачею сигналу «скидання» і переповнюванням сторожового таймера. Вони мають немаскований характер і частіше всього розділяють один загальний вектор переривання. Це цілком логічно, оскільки результатом кожної з подій є початкове скидання МК.

 

 

попередня тема наступна тема